package com.leetcode;

import java.util.Arrays;

/**
 * 1753. 移除石子的最大得分
 * <p>
 * 你正在玩一个单人游戏，面前放置着大小分别为 a、b 和 c 的 三堆 石子。
 * 每回合你都要从两个 不同的非空堆 中取出一颗石子，并在得分上加 1 分。当存在 两个或更多 的空堆时，游戏停止。
 * 给你三个整数 a 、b 和 c ，返回可以得到的 最大分数 。
 */
public class LeetCode1753 {

    public static void main(String[] arg0) {
        int a = 6;
        int b = 2;
        int c = 1;

        int res = maximumScore(a, b, c);
        System.out.println("res = " + res);
    }

    public static int maximumScore(int a, int b, int c) {
        int res = 0;
        // 先排序
        int[] data = new int[]{a, b, c};
        Arrays.sort(data);

        for (int i = data[0]; i >= 0; i--) {
            int d = data[1] - data[0] + (2 * i);
            if (data[2] >= d || i == 0) {
                res += d;
                break;
            } else {
                res++;
            }
        }
        return res;
    }

}
